package com.cf.base.sp.builder;

import com.cf.base.sp.engine.Converter;
import com.cf.base.sp.engine.Encryption;
import com.cf.base.sp.engine.JsonEngine;
import com.cf.base.sp.engine.Log;
import com.cf.base.sp.engine.Serializer;
import com.cf.base.sp.engine.Storage;

/**
 * @author yangji
 */
public interface IBuilder {


    IBuilder setTag(String tag);

    /**
     * 配置存储器
     *
     * @param storage 存储器
     * @return builder
     */
    IBuilder setStorage(Storage storage);

    IBuilder setIJson(JsonEngine json);

    IBuilder setConverter(Converter converter);

    IBuilder setSerializer(Serializer serializer);

    IBuilder setEncryption(Encryption encryption);

    IBuilder setLog(Log log);

    void build();

}
